# 算术运算符 +, -, *, /
# 定义两个变量，进行数学运算
a = 3
b = 2
c = 0  # 用于存储运算结果

c = a + b  # 加法运算
print("a + b的运算结果是: "+str(c))
c = a - b  # 减法运算
print("a - b的运算结果是: "+str(c))
c = a * b  # 乘法运算
print("a * b的运算结果是: "+str(c))
c = a / b  # 除法运算
print("a / b的运算结果是: "+str(c))

# 求余运算符 %
# 定义两个变量，进行取余运算
a = 15
b = 6
c = a % b
print("a % b 的运算结果是："+str(c))

#取整除运算符 //：返回商的整数部分
# 定义两个变量，进行取整除运算
a = 13
b = 5
c = 0
c = a / b
print("a / b 的运算结果是："+str(c))
c = a // b
print("a // b 的运算结果是："+str(c))

#幂 - 返回x的y次幂：**
# 定义两个变量，进行幂的运算
a = 3
b = 2
c = 0
c = a ** b
print("a ** b 的运算结果是："+str(c))


#复合赋值运算符 +=, -=, *=, /=, %=, **=, //=
# 声明两个变量，进行赋值运算
a = 3
b = 2
c = a + b #c=5
# +=运算
c += a  # 相当于c = c+a
print("c += a 运算后c的值是："+str(c))
# -=运算
c -= a  # 相当于c = c-a
print("c -= a 运算后c的值是："+str(c))
# *=运算
c *= a  # 相当于c = c*a
print("c *= a 运算后c的值是："+str(c))
# /=运算
c /= a  # 相当于c = c/a
print("c /= a 运算后c的值是："+str(c))
# %=运算
c %= a  # 相当于c = c%a
print("c %= a 运算后c的值是："+str(c))
# **=运算
c **= a  # 相当于c = c**a
print("c **= a 运算后c的值是："+str(c))
# //=运算
c //= a  # 相当于c = c//a
print("c //= a 运算后c的值是："+str(c))


#比较运算符 ==, !=, >, <, >=, <=
# 比较运算符 >,<,==,>=,<=,!=
# 比较两个数的大小
a = 10
b = 20
print("a>b的结果是："+str(a > b))
print("a==b的结果是："+str(a == b))
print("a<b的结果是："+str(a < b))
print("a>=b的结果是："+str(a >= b))
print("a<=b的结果是："+str(a <= b))
print("a!=b的结果是："+str(a != b))


#逻辑运算符：and, or, not
#  需求：编写一个Python程序，师父说：黄蓉，如果你的Python成绩能够考到95分以上，并且数学成绩考到88分以上，师父就让你下山玩一天。问黄蓉是否可以下山玩一天？
pythonScore = 85
mathScore = 90
c = pythonScore >= 95 and mathScore >= 88
# 输出运算结果
print("黄蓉是否可以下山玩一天："+str(c))

pythonScore = 100
mathScore = 90
c = pythonScore >= 95 and mathScore >= 88
# 输出运算结果
print("黄蓉是否可以下山玩一天："+str(c))

#逻辑与and
# 1.and 左边是True时，运算结果返回and右边的值
a = 10
b = 20
c = a and b
print("1.运算结果是："+str(c))
# 1.and 左边是False时，运算结果返回左边的值False
x = 0
y = 10
c = x and y
print("2.运算结果是："+str(c))


#逻辑或or
#or 采用短路求值，即只要左边的值能确定整个表达式的结果，就不会再去计算右边的值。
a = 20
b = 5
c = 13
# or 左边的值是True,右边的值是False,则返回True
d = a > b or b > c
print("1.运算结果是："+str(d))
# or 左边的值是True,右边的值是True,则返回True
d = a > c or b < c
print("2.运算结果是："+str(d))
# or 左边的值是False,右边的值是True,则返回True
d = a < b or c < a
print("3.运算结果是："+str(d))
# or 左边的值是False,右边的值是False,则返回False
d = b > c or a < b
print("3.运算结果是："+str(d))


a = 10
b = 20
# 第一种情况, or 左边是True,右边是False
c = a or 0
print("1.运算结果是："+str(c))
# 第二种情况, or 左边是False,右边是True
c = 0 or b
print("2.运算结果是："+str(c))
# 第三种情况, or 左边是False,右边是False
c = 0 or 0
print("3.运算结果是："+str(c))
# 第四种情况, or 左边是True,右边是True
c = a or b
print("3.运算结果是："+str(c))

#逻辑非not
a = 10
b = 20
print("1.运算结果："+str(not a))
print("2.运算结果："+str(not b))
print("3.运算结果："+str(not(a > b)))

